home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DJGPP / QDDVX102.ZIP / contrib / dvx / inc / x11 / varargsi.h < prev    next >
Text File  |  1993-07-15  |  2KB  |  82 lines

  1. /* $XConsortium: VarargsI.h,v 1.8 89/12/14 14:55:30 swick Exp $ */
  2. /*
  3.  
  4. Copyright 1985, 1986, 1987, 1988, 1989 by the
  5. Massachusetts Institute of Technology
  6.  
  7. Permission to use, copy, modify, and distribute this
  8. software and its documentation for any purpose and without
  9. fee is hereby granted, provided that the above copyright
  10. notice appear in all copies and that both that copyright
  11. notice and this permission notice appear in supporting
  12. documentation, and that the name of M.I.T. not be used in
  13. advertising or publicity pertaining to distribution of the
  14. software without specific, written prior permission.
  15. M.I.T. makes no representations about the suitability of
  16. this software for any purpose.  It is provided "as is"
  17. without express or implied warranty.
  18.  
  19. */
  20.  
  21. #ifndef _VarargsI_h_ 
  22. #define _VarargsI_h_ 
  23.  
  24. #ifdef __HC386__ /* JDC 92/02/21 */
  25.     #undef Va_start
  26.     #define NeedFunctionPrototypes 1
  27.     #undef __STDC__
  28. #endif
  29.      
  30. /* temporary hack for varargs stuff 'till function prototypes are fully implemented */
  31. #if NeedVarargsPrototypes
  32. #undef NeedFunctionPrototypes
  33. #define NeedFunctionPrototypes 1
  34. #endif
  35.  
  36. #ifdef __STDC__    /* ANSI way */
  37. # ifndef MISSING_STDARG_H
  38. #  include <stdarg.h>
  39. # endif
  40. # define Va_start(a,b) va_start(a,b)
  41. #else                    /*  Non-ansi - MetaWare Way JDC */
  42. # include <varargs.h>
  43. # define Va_start(a,b) va_start(a)
  44. #endif
  45.  
  46.  
  47.  
  48. typedef struct _XtTypedArg {
  49.     String      name;
  50.     String      type;
  51.     XtArgVal    value;
  52.     int         size;
  53. } XtTypedArg;
  54.  
  55. /* private routines */
  56.  
  57. extern void _XtCountVaList(
  58. #if NeedFunctionPrototypes
  59.     va_list /*var*/, int* /*total_count*/, int* /*typed_count*/
  60. #endif
  61. );
  62.  
  63. extern void _XtVaToArgList(
  64. #if NeedFunctionPrototypes
  65.    Widget /*widget*/, va_list /*var*/, int /*max_count*/, ArgList* /*args_return*/, Cardinal* /*num_args_return*/
  66. #endif
  67. );
  68.  
  69. extern void _XtVaToTypedArgList(
  70. #if NeedFunctionPrototypes
  71.     va_list /*var*/, int /*count*/, XtTypedArgList* /*args_return*/, Cardinal* /*num_args_return*/
  72. #endif
  73. );
  74.  
  75. extern XtTypedArgList _XtVaCreateTypedArgList(
  76. #if NeedFunctionPrototypes
  77.     va_list /*var*/, int /*count*/
  78. #endif
  79. );
  80.  
  81. #endif /* _VarargsI_h_ */
  82.